# 02. 移除元素.py
# 思路不清晰
from typing import List  # 导入 List

class Solution:
    def removeElement(self, nums: List[int], val: int) -> int:
        # 以下是一种拷贝覆盖的解法思路
        # 只需要维护：
        # 1. 符合需求的数值个数，即ans
        # 2. 数组的前ans个元素为非val元素
        # 解题思路：快指针遍历原数组，慢指针重构新数组。
        ans = 0
        for i in range(len(nums)):
            if nums[i] == val:
                pass
            elif nums[i] != val:
                nums[ans] = nums[i]
                ans += 1
        return ans